﻿//using OpenAI.ObjectModels;

//public class BusinessPlanCreationTeamConfig : ChatChainConfigBase
//{
//    public override TalkingOrder TalkingOrder => TalkingOrder.InitiatorThenRoundTable;

//    protected override string defaultGptModel => Models.EnumToString(Models.Model.Gpt_4_1106_preview);

//    protected override string teamContextAwarenessHeader =>
//        "A chat group regarding how to create a business plan for a multi-gptagent " +
//        "solution for tier 1 supplier business in automobile industry.";

//    public override string workspaceName => "Multi-GptAgent business plan";

//    public override List<ChatChainPhase> phases => new List<ChatChainPhase>() {
//        new ChatChainPhase()
//        {
//            phaseName = "Business planning",
//            phaseDescription = "Business planning for a multi-GptAgent framework's usage in traditional tier1 supplier company in automobile industry. ",
//            phaseSteps = new()
//            {
//                new ChatStep()
//                {
//                    chatStepPurpose = "Business planning",
//                    chatRooms = new()
//                    {
//                        new ChatRoom()
//                        {
//                            roomName = "Business Planning",
//                            meetingHost = BusinessPlanningExpert,
//                            roomGoal = "Create business plan for a smart solution provider company, their core technology is to have multiple gpt-agent work together as a team," +
//                                "and behave like a single entity, which can either provide workforce or Smarten the current workflow etc." +
//                                "When creating business plan please focus on how they could help in MMWRadar tier 1 supplier business in automobile industry",
//                            meetingHostInitiator = "You are a expert in business planning hired by a smart solution provider company, their core technology is to have multiple gpt-agent work together as a team," +
//                            "and behave like a single entity, which can either provide workforce or Smarten the current workflow etc, you invited CEO of some tier1 supplier as consultent, and he brought a eletronic engineer. ",
//                            agentRequired = new()
//                            {
//                                new RequiredAgentInRoomInfo()
//                                {
//                                    agentEnum = ChatAgentEnum.BusinessPlanningExpert,
//                                    agentGoal = "Create business plan for your client, who is a multi-GptAgent smart solution provider company, focus on the traditional industry like" +
//                                    "tier 1 supplier in automobile industry who sell MMW radars"
//                                },
//                                new RequiredAgentInRoomInfo()
//                                {
//                                    agentEnum = ChatAgentEnum.CeoOfBusiness,
//                                    agentGoal = "You are invited to this business plan creation meeting as consultant given your so many years of experience in traditional tier 1 supplier in automobile industry",
//                                },
//                                new RequiredAgentInRoomInfo()
//                                {
//                                    agentEnum = ChatAgentEnum.EletronicEngineer,
//                                    agentGoal = "You are invited to this business plan creation meeting by the ceo of your company, where your company focus on traditional tier 1 supplier in automobile industry, " +
//                                    "you are here to provide your expert opnion in terms of eletronic engineering in the industry. "
//                                },
//                                new RequiredAgentInRoomInfo()
//                                {
//                                    agentEnum = ChatAgentEnum.Client,
//                                    agentGoal = "Human Client",
//                                }
//                            }
//                        }
//                    }
//                }
//            }
//        }
//    };

//    protected override string WorkPrinciple => "\n" +
//                "#### Given chat message you received, and always take into consideration in terms of other chatroom members' background:\n" +
//                "   1. Each chat request you received might composed of messages from multiple members, with indicator which message comes from whom.  \n" +
//                "   2. For each individual messages in that chat request:\n" +
//                "       a. Give detailed reply if you can provide insightful information.\n" +
//                "       b. Give less detailed reply if you can provide less insightful information in comparison with other members in the chatroom. \n" +
//                "       c. You can decide how lengthy the reply is based on how much you can contribute to this conversation or to the goal of the meeting. \n" +
//                "       d. If its just a \"[PASS]\", then you can ignore it. \n" +
//                "   3. Do not [PASS] if you are directly mentioned or instructed to do something. \n" +
//                "   4. If you are not mentioned/instructed, and you don't feel like you could contribute to this conversation or to the goal, in this case Reply with only \"[PASS]\", No explaination, no punctuation apart from [].\n" +
//                "#### When sending out chat messages:\n" +
//                "   1. Use instruct type prompting more often when you need other agents in the chatroom to assist you, instead of just thinking out loud. \n" +
//                "       E.g., Hey @Someone_In_ChatRoom, do xx for me/tell me something about xxx etc. \n" +
//                "   2. Always @ a person's name when using instruct type prompting. \n";

//    //AgentName and setup info
//    public override Dictionary<string, AgentSetupInfo> AgentSetupInfos =>
//        new Dictionary<string, AgentSetupInfo>()
//            {
//                {
//                    "Automobile Industry CEO",
//                    new AgentSetupInfo()
//                    {
//                        agentName = "Automobile Industry CEO",
//                        cleanMemoOnNewRoom = false,
//                        gptModel = defaultGptModel,
//                        canFuncCall = false,
//                        whatItDoes = "CEO of tier 1 supplier company regarding MMW radar in automobile industry. ",
//                        workPrinciple = WorkPrinciple,
//                    }
//                },
//                {
//                    "Eletronic Engineer",
//                    new AgentSetupInfo()
//                    {
//                        agentName = "Eletronic Engineer",
//                        cleanMemoOnNewRoom = false,
//                        gptModel = defaultGptModel,
//                        canFuncCall=false,
//                        whatItDoes = "Eletronic Engineer of a tier 1 supplier company for MMW radar in automobile industry," +
//                        "employee of the ceo in the chatroom",
//                        workPrinciple = WorkPrinciple,
//                    }
//                },
//                {
//                    "Business Planning Expert",
//                    new AgentSetupInfo()
//                    {
//                        agentName = "Business Planning Expert",
//                        cleanMemoOnNewRoom = false,
//                        gptModel = defaultGptModel,
//                        canFuncCall = false,
//                        whatItDoes = "Create business plan given requirement. And the lead of this meeting.",
//                        workPrinciple = WorkPrinciple
//                    }
//                },
//        };

//}
